iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Modern Web

來架個網站吧系列 第 5

來架個網站吧-05.技術分工-4: 系統開發

  • 分享至 

  • xImage
  •  
tags: 來架個網站吧

我是目錄


需求訪談完成之後就是開始動工啦~

已目前的經驗來說,在需求訪談與分析階段,技術能不能達到要求都不是重點,本身的重點是技術如何滿足需求。以目前大部分公司的開發階段會切成以下類別:

  • 前端
  • 後端

前端 與 後端

在網站工程中,常常聽到「前端」與「後端」,但是什麼是前端?什麼是後端?

以我自己本身的經驗,對一般人比較能理解的說法是:用瀏覽器開一個網站,眼睛看得到絕大部分都是前端技術,眼睛看不到的都是後端技術。但是在時務經驗中,前端技術也可以寫後端,例如:Note.js。後端技術也可以應用在瀏覽器,例如:Java Applet。原則上技術本質是中性的,沒有絕對只有適合而已。在工作中,後端工程師也會需要處理前端丟過來的問題,進而協助前端如何處理資料傳輸的問題。前端也會需要如何用JavaScript產生文件的時後。在網站領域做了一段時間,兩端多少都需要碰到,只是早晚問題。

這一系列開始,我會介紹程式基礎。程式語言基礎的部份,我選擇JAVA。沒有其他原因,就我自己比較熟悉而已。接下來會介紹資料資料庫,以及如何操作。整體後端大略介紹完後,不會開始介紹前端基礎技術HTML、CSS、JavaScript,因為我真的不懂。

前端

前端領域在我剛開始進入這個領域時只需要下列技能:

  • 切版
  • HTML
  • CSS
  • javaScript

現在除了要會切版之外,還要學會如何接API、做OAuth 2.0......等等,幾乎快跟五年前的後端處理的事情融合了,只能說資訊技術前進的很快。當然在這塊領域上我也只能follow大致上的方向,畢竟時間與經歷有限。所以無法帶給大家深廣的資訊。

後端

後端的領域中,不外乎是處理業務邏輯為主,當然偶爾處理一下古老前後端不分離的技術框架,例如:JSP。

10幾年前,剛接觸資訊領域時當時是以JEE框架為主流,也就是良葛格當時的主力作品:Servlet/JSP,然而在五年前踏入這個行業時,Spring則是當時火紅的技術框架,當時的所有的技術論壇真的是春天滿天飛呀~

資料庫

資料庫規劃開發也是在網站應用系統功能中,佔重要比重很高的一向技術。因為每個網站近乎一定有資料庫運作。在這個領域我認為是最難處理的一部分,因為沒有什麼好或不好的資料設計。

為什麼這樣說?

以規劃主鍵來說:雙主鍵很適合做報表產製為目的的設計,因為後續撈報表很容易知道這張資料表的要紀錄的業務主要資訊。流水主鍵設計很適合做物件導向李的資料,一筆資料代表一個物件。

另外,還要依需求資料與硬體規劃等設計合適的資料型態、索引、table space、資料表分頁、資料庫分庫。

在資料庫的運作上也得考慮要做或能不能做高可用性(high availability)。

虛擬 x 容器

這邊講的虛擬是指作業系統安裝在虛擬環境中,如: VMWare。容器,例如: docker。

在網站系統當中,通常會直接採用虛擬化服務,因為可以靈活配置系統運算效能。在網站應用程式伺服器通常會配置在容器中,容器有比虛擬機更靈活的水平擴展能力,建立一容器服務可以在短短的幾秒鐘完成服務部屬。

系統測試

開發完成之後,一定要做測試而且最好是單元測試

大部分的人一定會跟你說:「要做單元測試。」就好比參加只考時考試券寫完要做檢查一樣(話說指考好像沒了)。但現實是,開發完成之後,通常隔天系統就要交付給客戶測試啦~

台灣?的環境使然,雖然現在無法做、明天還是無法做。

只要提倡再久一點,讓名為「滿天窗的系統bug」的子彈再飛一會兒或許客戶就會重視,騰出專案時間與預算來做。


上一篇
來架個網站吧-04.技術分工-3: 需求分析
下一篇
來架個網站吧-06.技術分工-5: 系統維運
系列文
來架個網站吧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言